package cn.source.event.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import cn.source.common.annotation.Excel;
import cn.source.common.core.domain.BaseEntity;

/**
 * event对象 db_event
 *
 * @author sourcebyte.vip
 * @date 2025-06-14
 */
@Data
public class DbEvent extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 序号 */
    private Integer num;

    /** 通道编号 */
    @Excel(name = "通道编号")
    private String tdGuid;


    /** 事件数据类型（0/1/2） */
    @Excel(name = "事件数据类型", readConverterExp = "0=/1/2")
    private Integer waveType;

    /** 波形数据 */
    @Excel(name = "波形数据")
    private String imagePath;

    /** 事件路径 */
    @Excel(name = "事件路径")
    private String wavePath;

    /** 事件波形数据类型标志（0/1） */
    @Excel(name = "事件波形数据类型标志", readConverterExp = "0=/1")
    private Long mark;

    /** 事件类型(骤升，骤降，中断，录波，SOE) */
    @Excel(name = "事件类型(骤升，骤降，中断，录波，SOE)")
    private String eventType;

    /** 特征相位 */
    @Excel(name = "特征相位")
    @JsonProperty("iPase")
    private Long iPase;

    /** 触发相位 */
    @Excel(name = "触发相位")
    @JsonProperty("nPase")
    private Long nPase;

    private String deviceId;

    /** 持续时间（毫秒） */
    @Excel(name = "持续时间", readConverterExp = "毫=秒")
    private Long keepTime;

    /** 特征幅值（V） */
    @Excel(name = "特征幅值", readConverterExp = "V=")
    private Long evtVal;

    /** 额定电压 */
    @Excel(name = "额定电压")
    private Long eddy;

    /** 规约类型 */
    @Excel(name = "规约类型")
    private Long gylx;

    /** 主键id */
    private String id;
    /** 事件记录时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "事件记录时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date timeDate;

    /** 开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    @JsonProperty("sTime")
    private Date sTime;

    /** 结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    @JsonProperty("eTime")
    private Date eTime;
}